home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 026-050 / scopedisk49 / garyicons / screen (.txt) < prev    next >
AmigaBASIC Source Code  |  1995-03-18  |  1KB  |  65 lines

  1. REM --- Screen - Amiga BASIC Graphics demo --- 20-July-85
  2. DEFINT A-Z 
  3.   
  4.   IF FRE(-1)<60000 THEN
  5.     PRINT "Sorry, this demo requires a
  6.     PRINT "machine with 512k of memory
  7.     END
  8.   END IF
  9.   SCREEN 1,320,200,5,1
  10.   WINDOW 2,"Lines",(10,10)-(270,170),15,1
  11.   PALETTE 1,0,0,1
  12.   PALETTE 2,0,1,0
  13.   DIM Pattern0%(3)
  14.   DIM Pattern1%(3)
  15.   DIM Pattern2%(3)
  16.   FOR I=0 TO 3
  17.     READ Pattern0%(I)
  18.     READ Pattern1%(I)
  19.     READ Pattern2%(I)
  20.   NEXT I
  21.   DATA &HAAAA, &H3333, &HFFFF
  22.   DATA &H5555, &H3333, &HFFFF
  23.   DATA &HAAAA, &H3333, &HFFFF
  24.   DATA &H5555, &H3333, &HFFFF
  25.  
  26.   WHILE 1
  27.     CLS
  28.     GetWindowDim winWidth, winHeight
  29.     FOR I=1 TO 8
  30.       iPat=RND*3
  31.       IF iPat=0 THEN
  32.         PATTERN -1,Pattern0%
  33.       ELSEIF iPat=1 THEN
  34.         PATTERN -1,Pattern1%
  35.       ELSEIF iPat=2 THEN
  36.         PATTERN -1,Pattern2%
  37.       END IF
  38.  
  39.       color1 = 2*I+2
  40.       color2 = color1+1
  41.       PALETTE color1,RND,RND,RND
  42.       PALETTE color2,RND,RND,RND
  43.       COLOR color1,color2
  44.  
  45.       x = winWidth/2
  46.       y = winHeight/2
  47.       cosI! = (9-I)*0.1*COS(I)
  48.       sinI! = (9-I)*0.1*SIN(I)
  49.       XcosI = x*cosI!
  50.       XsinI = x*sinI!
  51.       YcosI = y*cosI!
  52.       YsinI = y*sinI!
  53.       AREA (x+XcosI,y+YsinI)
  54.       AREA (x+XsinI,y-YcosI)
  55.       AREA (x-XcosI,y-YsinI)
  56.       AREA (x-XsinI,y+YcosI)
  57.       AREAFILL
  58.     NEXT I
  59.   WEND
  60.  
  61. SUB GetWindowDim(winWidth, winHeight) STATIC
  62.   winWidth = WINDOW(2)
  63.   winHeight = WINDOW(3)
  64.   END SUB
  65.